Satellite navigation systems allow electronic receivers to determine navigational information such as position (latitude, longitude, and altitude), velocity and time, also known as PVT information. One example of such a system is the United States Naystar Global Positioning System (GPS), which may include up to thirty-two or more functional navigation satellites. Other examples of satellite navigation systems include the Russian GLONASS system and the European Galileo system. Satellite navigation receivers, such as GPS receivers typically use GPS data from three or more orbiting satellites to determine navigation information. Only a portion of the satellites within a navigation system may be visible to a particular navigation receiver at a given time.
GPS satellites typically transmit GPS signals on two bands: the L1 band with a carrier frequency of 1575.42 MHz and the L2 band with a carrier frequency of 1227.60 MHz. Traditionally, only authorized users have been able to use data transmitted on the L2 band. In the future, civilian GPS signals may be transmitted on the L2 band and the L5 band (1176.45 MHz). Typically, low cost GPS receivers receive only on one of these bands. Some civilian GPS receivers may use clock data from the L2 band to refine GPS data carried in the L1 band. The following descriptions use the L1 band to describe exemplary embodiments; however, other embodiments may be implemented using one or more GPS bands or other global positioning signals.
GPS satellites transmit data using a form of spread spectrum coding known as code division multiple access (CDMA). Each satellite may be assigned a coarse acquisition (C/A) code that resembles pseudo random noise (PRN) and is typically unique to that satellite and can be used to identify it. Each satellite encodes data using the satellite's C/A code and transmits encoded data on the L1 carrier frequency (i.e., data is spread using the C/A code). Thus, all satellites are simultaneously transmitting data on a shared carrier frequency. In some embodiments, a ground-based pseudo-GPS satellite (i.e., a pseudo-lite) may transmit GPS data by using a C/A code not used by any satellites or of a satellite that may be out of view of the GPS receiver. Once a GPS signal with a particular C/A code is received and identified, the GPS receiver is said to have “acquired” the GPS satellite associated with that C/A code. A GPS receiver may also “track” a GPS satellite by continuing to receive a GPS signal from a previously acquired GPS satellite.
The conventional approach to using GPS satellites for user positioning requires the receiver to download the navigation message from a plurality of visible satellites using a time-of-arrival strategy. Position information is derived by calculating the distance of the receiver from each satellite based upon the time it takes the navigation message to propagate from the satellite to the receiver, multiplied by the speed of light. The navigation message includes the time the message was sent, allowing the receiver to calculate the propagation time by comparison to the arrival time. However, since the receiver is not perfectly synchronized with the satellite clocks, the calculated range to the satellite contains an error due to this clock difference and is termed a “pseudorange.” By determining an appropriate clock correction variable, the true range can be determined. Accordingly, a complete PVT solution requires determination of the three positional coordinates as well as clock correction variable. As will be appreciated, the presence of four variables usually requires four independent signals to provide a system of four equations against which these variables can be solved. Thus, conventional GPS positioning requires the reception of navigation messages from four separate satellites.
Under conventional schemes, the receiver has to wait until at least four satellites have been acquired and their navigation messages downloaded before estimating the user position. This time period is generally known as the time to first fix (TIFF). Since the time required to receive the navigational broadcasts nom each satellite ranges from 18 to 36 seconds, there can be a delay of approximately 30 seconds and up to several minutes before navigational determinations can be made, even if at least four satellites are visible. If fewer satellites are available, then TIFF can be delayed indefinitely.
The GPS receiver determines propagation time by comparing the received CIA code against the known code for each satellite in order to determine the time offset that corresponds to the signal propagation time. However, the satellite retransmits the C/A code each millisecond, the initial offset determination can only resolve the sub-millisecond portion of the propagation time. However, the travel time for a GPS signal from a satellite to a receiver on Earth is between approximately 60 to 80 ms. Accordingly, initial C/A time measurements are subject to an integer-ms ambiguity, wherein the number of full ms in a signal traveling time is not known. Conventionally, GPS receivers usually continue tracking the signal long enough to resolve this ambiguity after a sufficiently long piece (approximately 6 seconds, typically) of the GPS navigation message has been decoded. Unfortunately, constantly tracking an acquired satellite requires substantial power and computational resources and represents a significant energy drain in personal GPS devices.
Other prior art solutions to the integer-ms ambiguity problem involve calculations that can be made when a rough estimate of the receiver position is available and when the receiver's on-board clock is not too far out of synchronization with the nominal GPS system time. Specifically, the integer portion of the propagation time can be conventionally determined when the receiver location is known to within approximately 150 km and the time estimate is within approximately one second. When the GPS time estimate is less accurate and when there is no knowledge of the current position, however, solving the integer-ms ambiguity and position simultaneously can be very time consuming using conventional GPS techniques.
As one of skill in the art will appreciate, it would be desirable to provide a positioning estimate, even at the expense of some accuracy, from an initial set of received satellite transmissions without the need for continuous tracking. For example, any number of devices, such as digital cameras, could benefit from having some capacity for location awareness without the need for constant position determination. Indeed, many such portable devices would benefit from a GPS technique that offered the ability to estimate position with reduced power consumption and computational requirements.
Furthermore, it would be desirable to precisely determine signal propagation times without downloading an entire navigation message from each satellite. As will be appreciated, resolving the integer-ms ambiguity from an initial set of satellite receptions can significantly reduce TTFF and makes computational resources available for other GPS tasks.